/*******************************************
  Jose Andres Lara Vecino

  Author       : $Author: cainlara@gmail.com $
  Last CheckIn : $Date: 2012-08-22 18:35:06 +0000 (Wed, 22 Aug 2012) $
  Revision     : $Revision: 100 $
*******************************************/

package api.impl;

import java.util.ArrayList;
import java.util.List;

import persistencia.TmRol;
import utilidad.UtilConversor;
import api.IRolAPI;
import dao.RolDao;
import frente.Rol;
import generico.GenericoAPI;

/**
 * Controlador de acciones para Roles.
 * <P>
 * Esta clase, administra la informacion 
 * persistente de los objetos tipo <code>Rol</code>.
 * 
 * @see RolDao
 * @see TmRol
 * @see Rol
 * 
 * @author jose.lara 06.06.2012
 */
public class RolAPI extends GenericoAPI implements IRolAPI {
    private static final long serialVersionUID = -7143882509531973101L;
    
    private RolDao dao = null;
    
    public RolAPI() {
    }
    
    private RolDao getDao() {
        if(dao == null) {
            dao = new RolDao();
        }
        
        return dao;
    }
    
    @Override
    public List<Rol> getTodosRoles() {
        List<Rol> roles             = null;
        List<TmRol> persistentes    = null;
        Rol rol                     = null;
        
        persistentes = getDao().getResultFindAll();
        
        if(persistentes != null) {
            roles = new ArrayList<Rol>();
            
            for(TmRol persistente : persistentes) {
                rol = UtilConversor.convertir2Rol(persistente);
                
                if(rol != null) {
                    roles.add(rol);
                }
            }
        }
        
        return roles;
    }
}